<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>CORE - Namespace for Perl&#39;s core routines - Perldoc Browser</title>
    <link rel="search" href="https://perldoc.perl.org/opensearch.xml" type="application/opensearchdescription+xml" title="Perldoc Browser">
    <link rel="canonical" href="https://perldoc.perl.org/CORE">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/styles/stackoverflow-light.min.css" integrity="sha512-cG1IdFxqipi3gqLmksLtuk13C+hBa57a6zpWxMeoY3Q9O6ooFxq50DayCdm0QrDgZjMUn23z/0PMZlgft7Yp5Q==" crossorigin="anonymous" />
    <style>
      body {
        background: #f4f4f5;
        color: #020202;
      }
      .navbar-dark {
        background-image: -webkit-linear-gradient(top, #005f85 0, #002e49 100%);
        background-image: -o-linear-gradient(top, #005f85 0, #002e49 100%);
        background-image: linear-gradient(to bottom, #005f85 0, #002e49 100%);
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff005f85', endColorstr='#ff002e49', GradientType=0);
        background-repeat: repeat-x;
      }
      .navbar-dark .navbar-nav .nav-link,
      .navbar-dark .navbar-nav .nav-link:focus { color: #fff }
      .navbar-dark .navbar-nav .nav-link:hover { color: #ffef68 }
      #wrapperlicious {
        margin: 0 auto;
        font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
        font-weight: normal;
        line-height: 1.5em;
        margin: 0;
        padding: 0;
      }
      #wrapperlicious h1 { font-size: 1.5em }
      #wrapperlicious h2 { font-size: 1.3em }
      #wrapperlicious h3 { font-size: 1.1em }
      #wrapperlicious h4 { font-size: 0.9em }
      #wrapperlicious h1, #wrapperlicious h2, #wrapperlicious h3,
      #wrapperlicious h4, #wrapperlicious dt {
        color: #020202;
        margin-top: 1em;
        margin-bottom: 1em;
        position: relative;
        font-weight: bold;
      }
      #wrapperlicious a { color: inherit; text-decoration: underline }
      #wrapperlicious #toc { text-decoration: none }
      #wrapperlicious a:hover { color: #2a2a2a }
      #wrapperlicious a img { border: 0 }
      #wrapperlicious :not(pre) > code {
        color: inherit;
        background-color: rgba(0, 0, 0, 0.04);
        border-radius: 3px;
        font: 0.9em Consolas, Menlo, Monaco, monospace;
        padding: 0.3em;
      }
      #wrapperlicious dd {
        margin: 0;
        margin-left: 2em;
      }
      #wrapperlicious dt {
        color: #2a2a2a;
        font-weight: bold;
        margin-left: 0.9em;
      }
      #wrapperlicious p {
        margin-bottom: 1em;
        margin-top: 1em;
      }
      #wrapperlicious li > p {
        margin-bottom: 0;
        margin-top: 0;
      }
      #wrapperlicious pre {
        border: 1px solid #c1c1c1;
        border-radius: 3px;
        font: 100% Consolas, Menlo, Monaco, monospace;
        margin-bottom: 1em;
        margin-top: 1em;
      }
      #wrapperlicious pre > code {
        display: block;
        background-color: #f6f6f6;
        font: 0.9em Consolas, Menlo, Monaco, monospace;
        line-height: 1.5em;
        text-align: left;
        white-space: pre;
        padding: 1em;
      }
      #wrapperlicious dl, #wrapperlicious ol, #wrapperlicious ul {
        margin-bottom: 1em;
        margin-top: 1em;
      }
      #wrapperlicious ul {
        list-style-type: square;
      }
      #wrapperlicious ul ul {
        margin-bottom: 0px;
        margin-top: 0px;
      }
      #footer {
        font-size: 0.8em;
        padding-top: 0.5em;
        text-align: center;
      }
      #more {
        display: inline;
        font-size: 0.8em;
      }
      #perldocdiv {
        background-color: #fff;
        border: 1px solid #c1c1c1;
        border-bottom-left-radius: 5px;
        border-bottom-right-radius: 5px;
        margin-left: auto;
        margin-right: auto;
        padding: 3em;
        padding-top: 1em;
        max-width: 960px;
      }
      #moduleversion { float: right }
      #wrapperlicious .leading-notice {
        font-style: italic;
        padding-left: 1em;
        margin-top: 1em;
        margin-bottom: 1em;
      }
      #wrapperlicious .permalink {
        display: none;
        left: -0.75em;
        position: absolute;
        padding-right: 0.25em;
        text-decoration: none;
      }
      #wrapperlicious h1:hover .permalink, #wrapperlicious h2:hover .permalink,
      #wrapperlicious h3:hover .permalink, #wrapperlicious h4:hover .permalink,
      #wrapperlicious dt:hover .permalink {
        display: block;
      }
    </style>
    <!-- Global site tag (gtag.js) - Google Analytics -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=G-KVNWBNT5FB"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());

      gtag('config', 'G-KVNWBNT5FB');
      gtag('config', 'UA-50555-3');
    </script>
  </head>
  <body>
    <nav class="navbar navbar-expand-md navbar-dark bg-dark justify-content-between">
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
  </button>
  <a class="navbar-brand" href="https://perldoc.perl.org/">Perldoc Browser</a>
  <div class="collapse navbar-collapse" id="navbarNav">
    <ul class="navbar-nav mr-auto">
      <li class="nav-item dropdown text-nowrap">
        <a class="nav-link dropdown-toggle" href="CORE.html#" id="dropdownlink-stable" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">5.35.0</a>
        <div class="dropdown-menu" aria-labelledby="dropdownlink-stable">
          <a class="dropdown-item" href="https://perldoc.perl.org/CORE">Latest</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.38.2/CORE">5.38.2</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.38.1/CORE">5.38.1</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.38.0/CORE">5.38.0</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.36.3/CORE">5.36.3</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.36.2/CORE">5.36.2</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.36.1/CORE">5.36.1</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.36.0/CORE">5.36.0</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.34.3/CORE">5.34.3</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.34.2/CORE">5.34.2</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.34.1/CORE">5.34.1</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.34.0/CORE">5.34.0</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.32.1/CORE">5.32.1</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.32.0/CORE">5.32.0</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.30.3/CORE">5.30.3</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.30.2/CORE">5.30.2</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.30.1/CORE">5.30.1</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.30.0/CORE">5.30.0</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.28.3/CORE">5.28.3</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.28.2/CORE">5.28.2</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.28.1/CORE">5.28.1</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.28.0/CORE">5.28.0</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.26.3/CORE">5.26.3</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.26.2/CORE">5.26.2</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.26.1/CORE">5.26.1</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.26.0/CORE">5.26.0</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.24.4/CORE">5.24.4</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.24.3/CORE">5.24.3</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.24.2/CORE">5.24.2</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.24.1/CORE">5.24.1</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.24.0/CORE">5.24.0</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.22.4/CORE">5.22.4</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.22.3/CORE">5.22.3</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.22.2/CORE">5.22.2</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.22.1/CORE">5.22.1</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.22.0/CORE">5.22.0</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.20.3/CORE">5.20.3</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.20.2/CORE">5.20.2</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.20.1/CORE">5.20.1</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.20.0/CORE">5.20.0</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.18.4/CORE">5.18.4</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.18.3/CORE">5.18.3</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.18.2/CORE">5.18.2</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.18.1/CORE">5.18.1</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.18.0/CORE">5.18.0</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.16.3/CORE">5.16.3</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.16.2/CORE">5.16.2</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.16.1/CORE">5.16.1</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.16.0/CORE">5.16.0</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.14.4/CORE">5.14.4</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.14.3/CORE">5.14.3</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.14.2/CORE">5.14.2</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.14.1/CORE">5.14.1</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.14.0/CORE">5.14.0</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.12.5/CORE">5.12.5</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.12.4/CORE">5.12.4</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.12.3/CORE">5.12.3</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.12.2/CORE">5.12.2</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.12.1/CORE">5.12.1</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.12.0/CORE">5.12.0</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.10.1/CORE">5.10.1</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.10.0/CORE">5.10.0</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.8.9/CORE">5.8.9</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.8.8/CORE">5.8.8</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.8.7/CORE">5.8.7</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.8.6/CORE">5.8.6</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.8.5/CORE">5.8.5</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.8.4/CORE">5.8.4</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.8.3/CORE">5.8.3</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.8.2/CORE">5.8.2</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.8.1/CORE">5.8.1</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.8.0/CORE">5.8.0</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.6.2/CORE">5.6.2</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.6.1/CORE">5.6.1</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.6.0/CORE">5.6.0</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.005_04/CORE">5.005_04</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.005_03/CORE">5.005_03</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.005_02/CORE">5.005_02</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.005_01/CORE">5.005_01</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.005/CORE">5.005</a>
        </div>
      </li>
      <li class="nav-item dropdown text-nowrap">
        <a class="nav-link dropdown-toggle" href="CORE.html#" id="dropdownlink-dev" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dev</a>
        <div class="dropdown-menu" aria-labelledby="dropdownlink-dev">
          <a class="dropdown-item" href="https://perldoc.perl.org/blead/CORE">blead</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.39.6/CORE">5.39.6</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.39.5/CORE">5.39.5</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.39.4/CORE">5.39.4</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.39.3/CORE">5.39.3</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.39.2/CORE">5.39.2</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.39.1/CORE">5.39.1</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.38.0-RC2/CORE">5.38.0-RC2</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.38.0-RC1/CORE">5.38.0-RC1</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.37.11/CORE">5.37.11</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.37.10/CORE">5.37.10</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.37.9/CORE">5.37.9</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.37.8/CORE">5.37.8</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.37.7/CORE">5.37.7</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.37.6/CORE">5.37.6</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.37.5/CORE">5.37.5</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.37.4/CORE">5.37.4</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.37.3/CORE">5.37.3</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.37.2/CORE">5.37.2</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.37.1/CORE">5.37.1</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.37.0/CORE">5.37.0</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.35.11/CORE">5.35.11</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.35.10/CORE">5.35.10</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.35.9/CORE">5.35.9</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.35.8/CORE">5.35.8</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.35.7/CORE">5.35.7</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.35.6/CORE">5.35.6</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.35.5/CORE">5.35.5</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.35.4/CORE">5.35.4</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.35.3/CORE">5.35.3</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.35.2/CORE">5.35.2</a>
          <a class="dropdown-item" href="https://perldoc.perl.org/5.35.1/CORE">5.35.1</a>
          <a class="dropdown-item active" href="CORE.html">5.35.0</a>
        </div>
      </li>
      <li class="nav-item dropdown text-nowrap">
        <a class="nav-link dropdown-toggle" href="CORE.html#" id="dropdownlink-nav" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Documentation</a>
        <div class="dropdown-menu" aria-labelledby="dropdownlink-nav">
          <a class="dropdown-item" href="perl.html">Perl</a>
          <a class="dropdown-item" href="perlintro.html">Intro</a>
          <a class="dropdown-item" href="perl.html#Tutorials">Tutorials</a>
          <a class="dropdown-item" href="perlfaq.html">FAQs</a>
          <a class="dropdown-item" href="perl.html#Reference-Manual">Reference</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="perlop.html">Operators</a>
          <a class="dropdown-item" href="functions.html">Functions</a>
          <a class="dropdown-item" href="variables.html">Variables</a>
          <a class="dropdown-item" href="modules.html">Modules</a>
          <a class="dropdown-item" href="perlutil.html">Utilities</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="perlcommunity.html">Community</a>
          <a class="dropdown-item" href="perlhist.html">History</a>
        </div>
      </li>
    </ul>
    <ul class="navbar-nav">
      <script>
        function set_expand (expand) {
          var perldocdiv = document.getElementById('perldocdiv');
          var width = window.getComputedStyle(perldocdiv).getPropertyValue('max-width');
          var expanded = (width == '' || width == 'none') ? true : false;
          if (expand === null) {
            expand = !expanded;
          }
          if ((expand && !expanded) || (!expand && expanded)) {
            perldocdiv.style.setProperty('max-width', expand ? 'none' : '960px');
            var button_classlist = document.getElementById('content-expand-button').classList;
            if (expand) {
              button_classlist.add('btn-light');
              button_classlist.remove('btn-outline-light');
            } else {
              button_classlist.add('btn-outline-light');
              button_classlist.remove('btn-light');
            }
          }
          return expand;
        }
        function toggle_expand () {
          var expand = set_expand(null);
          document.cookie = 'perldoc_expand=' + (expand ? 1 : 0) + '; path=/; expires=Tue, 19 Jan 2038 03:14:07 UTC';
        }
        function read_expand () {
          return document.cookie.split(';').some(function (item) { return item.indexOf('perldoc_expand=1') >= 0 });
        }
        if (document.readyState === 'loading') {
          document.addEventListener('DOMContentLoaded', function () {
            if (read_expand()) {
              set_expand(true);
            }
          });
        } else if (read_expand()) {
          set_expand(true);
        }
      </script>
      <button id="content-expand-button" type="button" class="btn btn-outline-light d-none d-lg-inline-block mr-2" onclick="toggle_expand()">Expand</button>
    <ul>
    <form class="form-inline" method="get" action="https://perldoc.perl.org/5.35.0/search">
      <input class="form-control mr-3" type="search" name="q" placeholder="Search" aria-label="Search">
    </form>
  </div>
</nav>

    <div id="wrapperlicious" class="container-fluid">
      <div id="perldocdiv">
        <div id="links">
          <a href="CORE.html">CORE</a>
          <div id="more">
            (<a href="CORE.txt">source</a>,
            <a href="https://metacpan.org/pod/CORE">CPAN</a>)
          </div>
        </div>
        <div class="leading-notice">
          You are viewing the version of this documentation from Perl 5.35.0.
            This is a development version of Perl.
        </div>
        <h1><a id="toc">CONTENTS</a></h1>
                  <ul>
              <li>
                <a class="text-decoration-none" href="CORE.html#NAME">NAME</a>
              </li>
              <li>
                <a class="text-decoration-none" href="CORE.html#SYNOPSIS">SYNOPSIS</a>
              </li>
              <li>
                <a class="text-decoration-none" href="CORE.html#DESCRIPTION">DESCRIPTION</a>
              </li>
              <li>
                <a class="text-decoration-none" href="CORE.html#OVERRIDING-CORE-FUNCTIONS">OVERRIDING CORE FUNCTIONS</a>
              </li>
              <li>
                <a class="text-decoration-none" href="CORE.html#AUTHOR">AUTHOR</a>
              </li>
              <li>
                <a class="text-decoration-none" href="CORE.html#SEE-ALSO">SEE ALSO</a>
              </li>
          </ul>

      <h1 id="NAME"><a class="permalink" href="CORE.html#NAME">#</a>NAME</h1>

<p>CORE - Namespace for Perl&#39;s core routines</p>

<h1 id="SYNOPSIS"><a class="permalink" href="CORE.html#SYNOPSIS">#</a>SYNOPSIS</h1>

<pre><code>BEGIN {
    *CORE::GLOBAL::hex = sub { 1; };
}

print hex(&quot;0x50&quot;),&quot;\n&quot;;			# prints 1
print CORE::hex(&quot;0x50&quot;),&quot;\n&quot;;		# prints 80
CORE::say &quot;yes&quot;;				# prints yes

BEGIN { *shove = \&amp;CORE::push; }
shove @array, 1,2,3;			# pushes on to @array</code></pre>

<h1 id="DESCRIPTION"><a class="permalink" href="CORE.html#DESCRIPTION">#</a>DESCRIPTION</h1>

<p>The <code>CORE</code> namespace gives access to the original built-in functions of Perl. The <code>CORE</code> package is built into Perl, and therefore you do not need to use or require a hypothetical &quot;CORE&quot; module prior to accessing routines in this namespace.</p>

<p>A list of the built-in functions in Perl can be found in <a href="perlfunc.html">perlfunc</a>.</p>

<p>For all Perl keywords, a <code>CORE::</code> prefix will force the built-in function to be used, even if it has been overridden or would normally require the <a href="feature.html">feature</a> pragma. Despite appearances, this has nothing to do with the CORE package, but is part of Perl&#39;s syntax.</p>

<p>For many Perl functions, the CORE package contains real subroutines. This feature is new in Perl 5.16. You can take references to these and make aliases. However, some can only be called as barewords; i.e., you cannot use ampersand syntax (<code>&amp;foo</code>) or call them through references. See the <code>shove</code> example above. These subroutines exist for all keywords except the following:</p>

<p><code>__DATA__</code>, <code>__END__</code>, <code>and</code>, <code>cmp</code>, <code>default</code>, <code>do</code>, <code>dump</code>, <code>else</code>, <code>elsif</code>, <code>eq</code>, <code>eval</code>, <code>for</code>, <code>foreach</code>, <code>format</code>, <code>ge</code>, <code>given</code>, <code>goto</code>, <code>grep</code>, <code>gt</code>, <code>if</code>, <code>last</code>, <code>le</code>, <code>local</code>, <code>lt</code>, <code>m</code>, <code>map</code>, <code>my</code>, <code>ne</code>, <code>next</code>, <code>no</code>, <code>or</code>, <code>our</code>, <code>package</code>, <code>print</code>, <code>printf</code>, <code>q</code>, <code>qq</code>, <code>qr</code>, <code>qw</code>, <code>qx</code>, <code>redo</code>, <code>require</code>, <code>return</code>, <code>s</code>, <code>say</code>, <code>sort</code>, <code>state</code>, <code>sub</code>, <code>tr</code>, <code>unless</code>, <code>until</code>, <code>use</code>, <code>when</code>, <code>while</code>, <code>x</code>, <code>xor</code>, <code>y</code></p>

<p>Calling with ampersand syntax and through references does not work for the following functions, as they have special syntax that cannot always be translated into a simple list (e.g., <code>eof</code> vs <code>eof()</code>):</p>

<p><code>chdir</code>, <code>chomp</code>, <code>chop</code>, <code>defined</code>, <code>delete</code>, <code>eof</code>, <code>exec</code>, <code>exists</code>, <code>lstat</code>, <code>split</code>, <code>stat</code>, <code>system</code>, <code>truncate</code>, <code>unlink</code></p>

<h1 id="OVERRIDING-CORE-FUNCTIONS"><a class="permalink" href="CORE.html#OVERRIDING-CORE-FUNCTIONS">#</a><a id="OVERRIDING"></a>OVERRIDING CORE FUNCTIONS</h1>

<p>To override a Perl built-in routine with your own version, you need to import it at compile-time. This can be conveniently achieved with the <code>subs</code> pragma. This will affect only the package in which you&#39;ve imported the said subroutine:</p>

<pre><code>use subs &#39;chdir&#39;;
sub chdir { ... }
chdir $somewhere;</code></pre>

<p>To override a built-in globally (that is, in all namespaces), you need to import your function into the <code>CORE::GLOBAL</code> pseudo-namespace at compile time:</p>

<pre><code>BEGIN {
    *CORE::GLOBAL::hex = sub {
        # ... your code here
    };
}</code></pre>

<p>The new routine will be called whenever a built-in function is called without a qualifying package:</p>

<pre><code>print hex(&quot;0x50&quot;),&quot;\n&quot;;			# prints 1</code></pre>

<p>In both cases, if you want access to the original, unaltered routine, use the <code>CORE::</code> prefix:</p>

<pre><code>print CORE::hex(&quot;0x50&quot;),&quot;\n&quot;;		# prints 80</code></pre>

<h1 id="AUTHOR"><a class="permalink" href="CORE.html#AUTHOR">#</a>AUTHOR</h1>

<p>This documentation provided by Tels &lt;nospam-abuse@bloodgate.com&gt; 2007.</p>

<h1 id="SEE-ALSO"><a class="permalink" href="CORE.html#SEE-ALSO">#</a><a id="SEE"></a>SEE ALSO</h1>

<p><a href="perlsub.html">perlsub</a>, <a href="perlfunc.html">perlfunc</a>.</p>


      </div>
      <div id="footer">
        <p>Perldoc Browser is maintained by Dan Book (<a href="https://metacpan.org/author/DBOOK">DBOOK</a>). Please contact him via the <a href="https://github.com/Grinnz/perldoc-browser/issues">GitHub issue tracker</a> or <a href="mailto:dbook@cpan.org">email</a> regarding any issues with the site itself, search, or rendering of documentation.</p>

<p>The Perl documentation is maintained by the Perl 5 Porters in the development of Perl. Please contact them via the <a href="https://github.com/Perl/perl5/issues">Perl issue tracker</a>, the <a href="https://lists.perl.org/list/perl5-porters.html">mailing list</a>, or <a href="https://kiwiirc.com/client/irc.perl.org/p5p">IRC</a> to report any issues with the contents or format of the documentation.</p>


      </div>
    </div>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.slim.min.js" integrity="sha512-/DXTXr6nQodMUiq+IUJYCt2PPOUjrHJ9wFrqpJ3XkgPNOZVfMok7cRw6CSxyCQxXn6ozlESsSh1/sMCTF1rL/g==" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.1/umd/popper.min.js" integrity="sha512-ubuT8Z88WxezgSqf3RLuNi5lmjstiJcyezx34yIU2gAHonIi27Na7atqzUZCOoY4CExaoFumzOsFQ2Ch+I/HCw==" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js" integrity="sha384-B4gt1jrGC7Jh4AgTPSdUtOBvfO8shuf57BaghqFfPlYxofvL8/KUEfYiJOMMV+rV" crossorigin="anonymous"></script>
    <script src="../highlight.pack.js"></script>
    <script>hljs.highlightAll();</script>
  </body>
</html>
